<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-system-e2fsprogs" role="wrap">
  <?dbhtml filename="e2fsprogs.html"?>

  <sect1info condition="script">
    <productname>e2fsprogs</productname>
    <productnumber>&e2fsprogs-version;</productnumber>
    <address>&e2fsprogs-url;</address>
  </sect1info>

  <title>E2fsprogs-&e2fsprogs-version;</title>

  <indexterm zone="ch-system-e2fsprogs">
    <primary sortas="a-E2fsprogs">E2fsprogs</primary>
  </indexterm>

  <sect2 role="package">
    <title/>

    <para>Утилиты для работы с файловыми системами ext2, ext3 и ext4. Это наиболее распространенные и тщательно протестированные файловые системы, поддерживаемые в Linux.</para>

    <segmentedlist>
      <segtitle>&buildtime;</segtitle>
      <segtitle>&diskspace;</segtitle>

      <seglistitem>
        <seg>&e2fsprogs-ch6-sbu;</seg>
        <seg>&e2fsprogs-ch6-du;</seg>
      </seglistitem>
    </segmentedlist>

  </sect2>

  <sect2 role="installation">
    <title>Установка пакета E2fsprogs</title>
<!--
    <para>First, fix a script that adjusts testing output:</para>

<screen><userinput remap="pre">sed -i -e 's:\[\.-\]::' tests/filter.sed</userinput></screen>
-->
    <para>В документации к E2fsprogs указано, что следует выполнять сборку в отдельном каталоге:</para>

<screen><userinput remap="pre">mkdir -v build
cd       build</userinput></screen>

    <para>Подготовьте пакет E2fsprogs к компиляции:</para>

<!--<screen><userinput remap="configure">LIBS=-L/tools/lib                    \
CFLAGS=-I/tools/include              \
CFLAGS=-I/tools/include              \
PKG_CONFIG_PATH=/tools/lib/pkgconfig \
../configure - -prefix=/usr           \-->
<screen><userinput remap="configure">../configure --prefix=/usr           \
             --bindir=/bin           \
             --with-root-prefix=""   \
             --enable-elf-shlibs     \
             --disable-libblkid      \
             --disable-libuuid       \
             --disable-uuidd         \
				 --with-crond-dir=no     \
             --disable-fsck</userinput></screen>

    <variablelist>
      <title>Значения переменных среды и аргументов конфигурации:</title>
      <!--<varlistentry>
        <term><parameter>PKG_CONFIG_PATH, LIBS, CFLAGS</parameter></term>
        <listitem>
          <para>Переменные указывают e2fsprogs, выполнить сборку используя ранее установленный пакет
          <xref linkend="ch-tools-util-linux"/>.</para>
        </listitem>
      </varlistentry>-->
      <varlistentry>
        <term><parameter>--with-root-prefix=""</parameter> и
              <parameter>--bindir=/bin</parameter></term>
        <listitem>
          <para>Некоторые программы (такие как <command>e2fsck</command>
          ) считаются важными программами.  Когда, например, каталог
          <filename class="directory">/usr</filename> не примонтирован, необходимо, чтобы эти программы оставались доступны. Они принадлежат каталогам <filename class="directory">/lib</filename> и <filename
          class="directory">/sbin</filename>. Если эти аргументы не указать, установка будет произведена в каталог
          <filename class="directory">/usr</filename>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>--enable-elf-shlibs</parameter></term>
        <listitem>
          <para>Это создает общие библиотеки, которые используются некоторыми программами пакета.</para>
        </listitem>
      </varlistentry>

		<varlistentry>
        <term><parameter>--with-crond-dir=no</parameter></term>
        <listitem>
          <para>This disables the installation of an unneded file.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term><parameter>--disable-*</parameter></term>
        <listitem>
          <para>Исключает установку библиотек
          <systemitem class="library">libuuid</systemitem> и
          <systemitem class="library">libblkid</systemitem>, службы
          <systemitem class="daemon">uuidd</systemitem>,и
          <command>fsck</command> обертки, которые содержатся в пакете Util-Linux и являются более актуальными.</para>
        </listitem>
      </varlistentry>

    </variablelist>

    <para>Скомпилируйте пакет:</para>

<screen><userinput remap="make">make</userinput></screen>

    <!--<para>Для выполнения тестов, нужно сначала создать некоторые символические ссылки на библиотеки из каталога
	 /tools/lib куда ссылаются программы тестирования.Для выполнения тестов, выполните следующую команду:</para>-->
<para>Для выполнения тестов, выполните команду:</para>
<screen><userinput remap="test">make check</userinput></screen>

<!-- <screen><userinput remap="test">ln -sfv /tools/lib/lib{blk,uu}id.so.1 lib
make LD_LIBRARY_PATH=/tools/lib check</userinput></screen> -->

    <para>Один из тестов пакета E2fsprogs попытается выделить 256 MB памяти. Если у вас нет такого объема оперативной памяти, не забудьте включить требуемое пространство в файл подкачки для выполнения теста. Смотрите  <xref
    linkend="space-creatingfilesystem"/> и <xref linkend="space-mounting"/>
    чтобы ознакомиться с информацией по поводу создания и включения файла подкчки. Два теста, f_bigalloc_badinode
    and f_bigalloc_orphan_list, известно что не пройдут.</para>

    <para>Установите бинарные файлы, документацию, и разделяемые библиотеки:</para>

<screen><userinput remap="install">make install</userinput></screen>

    <para>Установите статические библиотеки и заголовочные файлы:</para>

<screen><userinput remap="install">make install-libs</userinput></screen>

    <para>Установите права на запись статическим библиотекам, для того, чтобы позднее, удалить отладочные символы:</para>

<screen><userinput remap="install">chmod -v u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a</userinput></screen>

    <para>Пакет установит запакованный файл
    <filename class="extension">.info</filename> и не обновит системный файл <filename>dir</filename>. Распакуйте файл и обновите файл <filename>dir</filename>, выполнив следующую команду:</para>

<screen><userinput remap="install">gunzip -v /usr/share/info/libext2fs.info.gz
install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info</userinput></screen>

    <para>При необходимости создайте и установите дополнительную документацию
    выполнение следующие команды:</para>

<screen><userinput remap="install">makeinfo -o      doc/com_err.info ../lib/et/com_err.texinfo
install -v -m644 doc/com_err.info /usr/share/info
install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userinput></screen>
  </sect2>

  <sect2 id="contents-e2fsprogs" role="content">
    <title>Содержимое пакета E2fsprogs</title>

    <segmentedlist>
      <segtitle>Установленные программы</segtitle>
      <segtitle>Установленные библиотеки</segtitle>
      <segtitle>Установленные каталоги</segtitle>

    <seglistitem>
        <seg>badblocks, chattr, compile_et, debugfs, dumpe2fs,e2freefrag,
        e2fsck, e2image, e2label, e2mmpstatus, e2scrub, e2scrub_all, e2undo,
        e4crypt, e4defrag, filefrag, fsck.ext2,
        fsck.ext3, fsck.ext4, logsave, lsattr, mk_cmds, mke2fs,
        mkfs.ext2, mkfs.ext3, mkfs.ext4, mklost+found,
        resize2fs, and tune2fs</seg>
        <seg>libcom_err.so, libe2p.so, libext2fs.so, and libss.so</seg>
        <seg>/usr/include/e2p, /usr/include/et, /usr/include/ext2fs,
        /usr/include/ss, /usr/lib/e2fsprogs, /usr/share/et, and
        /usr/share/ss</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Краткое описание</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="badblocks">
        <term><command>badblocks</command></term>
        <listitem>
          <para>Поиск поврежденных блоков на устройстве (обычно дисковый раздел)</para>
          <indexterm zone="ch-system-e2fsprogs badblocks">
            <primary sortas="b-badblocks">badblocks</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="chattr">
        <term><command>chattr</command></term>
        <listitem>
          <para>Изменение атрибутов файлов на файловой системе <systemitem
          class="filesystem">ext2</systemitem>; также
          изменяет файловую систему <systemitem class="filesystem">ext3</systemitem>
          , журналирование файловой системы <systemitem
          class="filesystem">ext2</systemitem></para>
          <indexterm zone="ch-system-e2fsprogs chattr">
            <primary sortas="b-chattr">chattr</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="compile_et">
        <term><command>compile_et</command></term>
        <listitem>
          <para>Компилятор таблицы ошибок; он преобразует таблицу кода ошибки
           имена и сообщения в исходный файл C, подходящий для использования с библиотекой
          <filename class="libraryfile">com_err</filename></para>
          <indexterm zone="ch-system-e2fsprogs compile_et">
            <primary sortas="b-compile_et">compile_et</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="debugfs">
        <term><command>debugfs</command></term>
        <listitem>
          <para>Отладчик файловой системы;
			 A file system debugger; его можно использовать для изучения и изменения
           состояния файловой системы <systemitem class="filesystem">ext2</systemitem>
          </para>
          <indexterm zone="ch-system-e2fsprogs debugfs">
            <primary sortas="b-debugfs">debugfs</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="dumpe2fs">
        <term><command>dumpe2fs</command></term>
        <listitem>
          <para>Распечатывает супер-блок и блокирует информацию о группе для
           файловой системы, присутствующей на устройстве</para>
          <indexterm zone="ch-system-e2fsprogs dumpe2fs">
            <primary sortas="b-dumpe2fs">dumpe2fs</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="e2freefrag">
        <term><command>e2freefrag</command></term>
        <listitem>
          <para>Сообщает информацию о фрагментации свободного пространства</para>
          <indexterm zone="ch-system-e2fsprogs e2freefrag">
            <primary sortas="b-e2freefrag">e2freefrag</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="e2fsck">
        <term><command>e2fsck</command></term>
        <listitem>
          <para>Используется для проверки и, при необходимости, ремонта файловых систем<systemitem
          class="filesystem">ext2</systemitem> и <systemitem
          class="filesystem">ext3</systemitem></para>
          <indexterm zone="ch-system-e2fsprogs e2fsck">
            <primary sortas="b-e2fsck">e2fsck</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="e2image">
        <term><command>e2image</command></term>
        <listitem>
          <para>Используется для сохранения критичных данных файловой системы <systemitem
          class="filesystem">ext2</systemitem> в файл</para>
          <indexterm zone="ch-system-e2fsprogs e2image">
            <primary sortas="b-e2image">e2image</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="e2label">
        <term><command>e2label</command></term>
        <listitem>
          <para>Отображает или изменяет метку файловой системы для файловой системы <systemitem
          class="filesystem">ext2</systemitem>на данном устройстве</para>
          <indexterm zone="ch-system-e2fsprogs e2label">
            <primary sortas="b-e2label">e2label</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="e2mmpstatus">
        <term><command>e2mmpstatus</command></term>
        <listitem>
          <para>Checks MMP status of an ext4 filesystem</para>
          <indexterm zone="ch-system-e2fsprogs e2mmpstatus">
            <primary sortas="b-e2mmpstatus">e2mmpstatus</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="e2scrub">
        <term><command>e2scrub</command></term>
        <listitem>
          <para>Checks the contents of a mounted ext[234] filesystem</para>
          <indexterm zone="ch-system-e2fsprogs e2scrub">
            <primary sortas="b-e2scrub">e2scrub</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="e2scrub_all">
        <term><command>e2scrub_all</command></term>
        <listitem>
          <para>Checks all mounted ext[234] filesystems for errors</para>
          <indexterm zone="ch-system-e2fsprogs e2scrub_all">
            <primary sortas="b-e2scrub_all">e2scrub_all</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="e2undo">
        <term><command>e2undo</command></term>
        <listitem>
          <para>Заменяет журнал undo_log для файловых систем ext2/ext3/ext4
          на данном устройстве [можно использовать для отмены неудачной операции при использовании программы e2fsprogs.]</para>
          <indexterm zone="ch-system-e2fsprogs e2undo">
            <primary sortas="b-e2undo">e2undo</primary>
          </indexterm>
        </listitem>
      </varlistentry>

		<varlistentry id="e4crypt">
        <term><command>e4crypt</command></term>
        <listitem>
          <para>Ext4 filesystem encryption utility</para>
          <indexterm zone="ch-system-e2fsprogs e4crypt">
            <primary sortas="b-e4crypt">e4crypt</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="e4defrag">
        <term><command>e4defrag</command></term>
        <listitem>
          <para>Онлайн дефрагментатор для файловой системы ext4</para>
          <indexterm zone="ch-system-e2fsprogs e4defrag">
            <primary sortas="b-e4defrag">e4defrag</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="filefrag">
        <term><command>filefrag</command></term>
        <listitem>
          <para>Отчет о том, насколько сильно файл может быть фрагментированным</para>
          <indexterm zone="ch-system-e2fsprogs filefrag">
            <primary sortas="b-filefrag">filefrag</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="fsck.ext2">
        <term><command>fsck.ext2</command></term>
        <listitem>
          <para>Проверка файловой системы <systemitem class="filesystem">ext2</systemitem>
         и жесткая ссылка на <command>e2fsck</command></para>
          <indexterm zone="ch-system-e2fsprogs fsck.ext2">
            <primary sortas="b-fsck.ext2">fsck.ext2</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="fsck.ext3">
        <term><command>fsck.ext3</command></term>
        <listitem>
          <para>Проверка файловой системы<systemitem class="filesystem">ext3</systemitem>
          и жесткая ссылка на <command>e2fsck</command></para>
          <indexterm zone="ch-system-e2fsprogs fsck.ext3">
            <primary sortas="b-fsck.ext3">fsck.ext3</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="fsck.ext4">
        <term><command>fsck.ext4</command></term>
        <listitem>
          <para>Проверка файловой системы <systemitem class="filesystem">ext4</systemitem>
          и жесткая ссылка на <command>e2fsck</command></para>
          <indexterm zone="ch-system-e2fsprogs fsck.ext4">
            <primary sortas="b-fsck.ext4">fsck.ext4</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="logsave">
        <term><command>logsave</command></term>
        <listitem>
          <para>Сохраняет вывод команды в файле журнала</para>
          <indexterm zone="ch-system-e2fsprogs logsave">
            <primary sortas="b-logsave">logsave</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="lsattr">
        <term><command>lsattr</command></term>
        <listitem>
          <para>Перечисляет атрибуты файлов во второй расширенной файловой системе</para>
          <indexterm zone="ch-system-e2fsprogs lsattr">
            <primary sortas="b-lsattr">lsattr</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mk_cmds">
        <term><command>mk_cmds</command></term>
        <listitem>
          <para>Преобразует таблицу имен команд и справочных сообщений в C
           исходный файл, подходящий для использования с библиотекой подсистемы<filename
          class="libraryfile">libss</filename></para>
          <indexterm zone="ch-system-e2fsprogs mk_cmds">
            <primary sortas="b-mk_cmds">mk_cmds</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mke2fs">
        <term><command>mke2fs</command></term>
        <listitem>
          <para>Создает файловую систему <systemitem class="filesystem">ext2</systemitem>
          или <systemitem class="filesystem">ext3</systemitem> на устройстве</para>
          <indexterm zone="ch-system-e2fsprogs mke2fs">
            <primary sortas="b-mke2fs">mke2fs</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mkfs.ext2">
        <term><command>mkfs.ext2</command></term>
        <listitem>
          <para>Создает файловую систему <systemitem class="filesystem">ext2</systemitem>
          и является жесткой ссылкой на <command>mke2fs</command></para>
          <indexterm zone="ch-system-e2fsprogs mkfs.ext2">
            <primary sortas="b-mkfs.ext2">mkfs.ext2</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mkfs.ext3">
        <term><command>mkfs.ext3</command></term>
        <listitem>
          <para>Создает файловую систему <systemitem class="filesystem">ext3</systemitem>
          и является жесткой ссылкой на <command>mke2fs</command></para>
          <indexterm zone="ch-system-e2fsprogs mkfs.ext3">
            <primary sortas="b-mkfs.ext3">mkfs.ext3</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mkfs.ext4">
        <term><command>mkfs.ext4</command></term>
        <listitem>
          <para>Создает файловую систему <systemitem class="filesystem">ext4</systemitem>
         и является жесткой ссылкой на <command>mke2fs</command></para>
          <indexterm zone="ch-system-e2fsprogs mkfs.ext4">
            <primary sortas="b-mkfs.ext4">mkfs.ext4</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mklost-found">
        <term><command>mklost+found</command></term>
        <listitem>
          <para>Создает каталог <filename class="directory">lost+found</filename>
         на файловой системе <systemitem class="filesystem">ext2</systemitem>; он предварительно выделяет блоки диска для каталога, для выполнения задач <command>e2fsck</command></para>
          <indexterm zone="ch-system-e2fsprogs mklost-found">
            <primary sortas="b-mklost+found">mklost+found</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="resize2fs">
        <term><command>resize2fs</command></term>
        <listitem>
          <para>Может использоваться для увеличения или сжатия файловой системы<systemitem
          class="filesystem">ext2</systemitem></para>
          <indexterm zone="ch-system-e2fsprogs resize2fs">
            <primary sortas="b-resize2fs">resize2fs</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="tune2fs">
        <term><command>tune2fs</command></term>
        <listitem>
          <para>Используется для модифицирования параметров файловой системы <systemitem
          class="filesystem">ext2</systemitem></para>
          <indexterm zone="ch-system-e2fsprogs tune2fs">
            <primary sortas="b-tune2fs">tune2fs</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libcom_err">
        <term><filename class="libraryfile">libcom_err</filename></term>
        <listitem>
          <para>Общая процедура отображения ошибок</para>
          <indexterm zone="ch-system-e2fsprogs libcom_err">
            <primary sortas="c-libcom_err">libcom_err</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libe2p">
        <term><filename class="libraryfile">libe2p</filename></term>
        <listitem>
          <para>Используется <command>dumpe2fs</command>, <command>chattr</command>,
          и <command>lsattr</command></para>
          <indexterm zone="ch-system-e2fsprogs libe2p">
            <primary sortas="c-libe2p">libe2p</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libext2fs">
        <term><filename class="libraryfile">libext2fs</filename></term>
        <listitem>
          <para>Содержит программы позволяющие программам пользовательского уровня манипулировать файловыми системами
          <systemitem class="filesystem">ext2</systemitem></para>
          <indexterm zone="ch-system-e2fsprogs libext2fs">
            <primary sortas="c-libext2fs">libext2fs</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libss">
        <term><filename class="libraryfile">libss</filename></term>
        <listitem>
          <para>Используется <command>debugfs</command></para>
          <indexterm zone="ch-system-e2fsprogs libss">
            <primary sortas="c-libss">libss</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
